home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Forever 4
/
Atari Forever 4.zip
/
Atari Forever 4.iso
/
SERIE_S
/
S_916
/
S_916.ZIP
/
PRTOUT
/
PRTOUT.TXT
< prev
Wrap
Text File
|
1996-07-11
|
11KB
|
182 lines
PRTOUT.TTP - Ein Drucker-Utility
********************************
1. Wozu PRTOUT.TTP?
===================
Es gibt doch viele Programme, die nichts weiter bewerkstelligen,
als Dateien auf dem Drucker auszugeben. Einige sind sehr einfach,
knapp und schnell, andere sehr aufwendig, bieten viele Möglich-
keiten und befriedigen selbst pedantische Ansprüche an die Quali-
tät eines Druckes. Wozu also noch ein weiteres Progrämmchen, das
nicht mehr kann als andere?
Nun ja, zugegeben, PRTOUT.TTP kann nicht mehr als andere kurze
Druck-Routinen. Es soll allein dazu dienen, eine reine ASCII-
Datei auf dem Drucker auszugeben; das natürlich einfach und
schnell. Höhere Ansprüche an Schrift, Druckqualität, weitere
Optionen usw. soll es nicht erfüllen. Für diese Zwecke gibt es
die Druckroutinen von Editor-, Text- und DTP-Programmen.
Aber - und das ist nun ein wenig besonders - PRTOUT.TTP kann etwas,
was weder die Druck-Routine des Betriebssystems noch so mancher
anderer Editor-, Desktop- oder Druck-Routinen-Patch-Programme
kann: Es kann einen linken Rand setzen!
Wenn man mal schnell die DESKTOP.INF oder eine andere Konfi-
gurationsdatei bzw. einen kurzen README- oder INFO-Text ausdrucken
will, dann stört es vielleicht nicht nur mich, sondern auch andere,
dass die gewöhnlichen Druck-Routinen immer in der ersten Spalte
mit dem Druck beginnen. Gerade wenn man einen Tintenstrahldrucker
verwendet, dessen Tinte gerne verschmiert, wenn Feuchtigkeit aufs
Blatt gerät, wird man es zu schätzen wissen, dass sich der Daumen
nicht gleich auf die Schrift legt, sondern erst mal den Rand be-
feuchten darf. Und ausserdem - wer verdeckt schon gern beim Lesen
die Zeilenanfänge mit den Fingern?
2. Die Bedienung:
=================
Man startet PRTOUT.TTP mit einem Doppelklick, über eine Taste, der
es zugeordnet ist, oder über eine andere Funktion, die im Desktop-
oder Shell-Programm, das man verwendet, vorgesehen ist. Im MAGXDESK
lässt sich PRTOUT.TTP z. B. als Ersatz für die Druck-Routine des
Betriebssystems eintragen, so dass es jedesmal gestartet wird, wenn
eine Datei zum Drucken aufgerufen wird.
Nach dem Start erscheint eine Box, in der ein Dateiname und allenfalls
Optionen angegeben werden können. Unter Umständen funktioniert auch
die Methode, eine auszudruckende Datei auf das Programm-Ikon zu schieben,
so dass diese direkt an PRTOUT.TTP weitergegeben wird. Unter TOS 2.06 und
MagiC 2.0 und 4.0 hat dieses Vorgehen jedenfalls bei meinen Versuchen
Erfolg gezeitigt.
Optionen können unter Umständen auch als ständige Parameter des Programms
definiert werden, wenn man es als Anwendung anmeldet und das verwendete
Desktop-/Shell-Programm dabei die Möglichkeit solcher Parameter-Fest-
legungen vorsieht (z. B. TOS 2.06).
Optionen werden durch - und die nachfolgenden Buchstaben I,F,M,D,S und
R angewählt. PRTOUT verhält sich dabei relativ tolerant. So können
diese Buchstaben gross oder klein geschrieben werden. Sie dürfen
auch verdoppelt oder vervielfacht werden - das spielt keine Rolle.
Wichtig ist nur, dass zwischen - und den Nachfolgenden Buchstaben keine
Lücken stehen. Also: -iImDssssSSfF und ähnliches ist erlaubt, nicht aber
- f s i oder ähnliches. Zwischen den Optionen und dem Dateinamen muss
Space (Leerschlag) als Trenner stehen. Auch eine Schreibweise wie
x:\datei-isfm name ist erlaubt (obwohl sich wohl niemand ernsthaft
dafür entscheiden dürfte), PRTOUT erkennt die Optionen und fügt den
Dateinamen zusammen. NICHT abgesichert ist PRTOUT gegen Dateinamen,
die - enthalten! An sich ist es unmöglich, einen - in die Dateiauswahl-
box einzugeben, aber einzelne Programme wie SIGNUM3 haben eine Auswahlbox,
die solche unerlaubten Zeichen akzeptiert. Da das Betriebssystem zwar
normalerweise die Eingabe von - verhindert, aber Namen, die - enthalten,
gleichwohl richtig verwaltet, könnten Dateien mit einem - im Namen
schon mal vorkommen - und dann druckt PRTOUT sie nicht.
Auch folgende Schreibweise ist möglich: -I -F -M -R x:\dateiname.
Aber nun zu den Optionen:
-I/i weist PRTOUT an, vor dem Drucken den Drucker zu initialisieren.
-F/f löst nach Ende des Druckes einen Seitenvorschub bzw. den
Auswurf des bedruckten Blattes (Formfeed) aus.
-M/m und -D/d erzeugen einen Linksrand (engl. margin bzw. double
margin). Bei M wird der Linksrand 4, bei D 8 Spalten breit. Ich habe
daraufverzichtet, andere Breiten vorzusehen. Denn weniger als 4 Spalten
sind kaum sinnvoll, bei mehr als 10 Spalten gibt es Probleme mit der
Zeilenlänge. Da ausserdem eine Art Konvention für Tabulatorweiten besteht,
die besagt, dass diese 4 oder 8 betragen sollen, habe ich mich entschieden,
nur diese beiden Breiten vorzusehen. Dabei ist es aber so, dass man
die Verantwortung dafür, dass die Zeilen nicht zu lang sind, selber trägt.
Die Drucker, die überschiessende Zeilenenden verschlucken oder einfach an
den Zeilenanfang (und allenfalls über den dort schon stehenden Text)
drucken, sind zum Glück heute auf dem Rückzug. Normalerweise springt der
Drucker bei zu langen Zeilen einfach auf eine neue Zeile. Wenn das
geschieht, erkennt PRTOUT dies nicht, und folglich wird dann OHNE Rand
gedruckt. Kommt das nur vereinzelt vor, so stört es bei einem schnellen
Probeausdruck jedoch kaum. Bei echtem Fliesstext, der keine Zeilenenden,
sondern nur Absätze markiert, werden dementsprechend nur die Absatzanfänge
eingerückt. Nun noch eine Bemerkung zur Kombination von M und D: Kommen
beide Optionen in der Eingabezeile vor, so richtet sich PRTOUT nach der
letzten. -MD erzeugt also 8 Randspalten, -DM nur 4.
-S/s bewirkt, dass β, § und ∞ auf IBM- bzw. Epson-kompatiblen Druckern
richtig ausgedruckt werden und nicht als seltsame Zeichen erscheinen.
Eine weitergehende Zeichenwandlung habe ich nicht vorgesehen,
weil dies für den genannten Zweck zu aufwendig wäre.
Mit der Option -R/r schliesslich kann man den RS232-Port ansprechen. Dies
deshalb, weil PRTOUT auf Ein-/Ausgabeumlenkung nicht anspricht (es wurde
zwar unter Benutzung der GEMDOS-Funktionen geschrieben, die Umlenkung
klappt in der Praxis aber nicht). Wer einen seriellen Drucker betreibt,
kann es einmal damit versuchen. Vielleicht klappt es (ich habeselber
keinen solchen Drucker, weshalb ich die Funktionstüchtigkeit nicht
erproben konnte).
Noch ein Wort zu einem nicht unwichtigen Thema: Was geschieht,
wenn der Drucker nicht eingeschaltet oder aus andern Gründen
nicht ansprechbar ist? Dafür habe ich eine andere Lösung ge-
wählt, als die üblichen Desktop- oder Betriebssystem-Druck-
Routinen aufweisen. Wie diese gibt PRTOUT.TTP KEINE Meldung
aus, sondern friert gewissermassen ein. Es wartet jedoch NICHT
30 Sekunden ab und hört dann einfach auf, sondern versucht
fortwährend den Drucker anzusprechen. Dabei kann kein einziges
Zeichen verlorengehen; sobald der Drucker bereit ist, wird
einwandfrei gedruckt, ohne dass Zeichenverluste eintreten.
Das funktioniert auch während des Druckes. Unterbricht man
etwa den Druck mit der Pause-, Local- oder wie-immer-sie-heisst-
Taste, dann wartet PRTOUT ab, bis man den Modus wieder zurück-
schaltet; dann fährt es mit dem Ausdruck des ersten noch nicht
ausgegebenen Zeichens fort. Will man den Ausdruck abbrechen,
muss man also den Drucker ausschalten und - sofern PRTOUT die
Kontrolle noch nicht wieder ans Desktop zurückgegeben hat -
auch den Computer selbst.
3. Beschränkungen:
==================
Hier sollen ein paar Worte darüber gesagt sein, was PRTOUT.TTP
NICHT kann:
Es kann nicht mehrere Dateien in Folge ausdrucken. Es ist also
nicht möglich, mehrere Dateinamen anzugeben - in diesem Fall
geschieht einfach nichts. Das hängt damit zusammen, dass die Aus-
wertungsroutine für die Eingabezeile schon jetzt ziemlich umfang-
reich ausgefallen ist. Ausserdem hat sich mir diese Möglichkeit
in der Praxis nur ganz selten als wünschbar erwiesen.
PRTOUT unterstützt im übrigen auch keine Tabulatoren und keine
Steuercodes ausser ASCII 10, 11 (Linefeed), 13 (Wagenrücklauf)
und 12 (Formfeed). Ich sah die Notwendigkeit für solche Steuer-
zeichen nicht ein. Denn Tabulatoren wird man zweckmässigerweise
in einfachen ASCII-Texten durch Leerzeichen ersetzen, und alle
andern Steuerzeichen wirken sich bisweilen auf Drucker verheerend
aus. Manchen Leuten mag es etwa wünschbar erscheinen, am Ende eines
Textes ASCII 7 an den Drucker zu schicken - worauf dieser eigentlich
ein Klingeln, Hupen oder Pfeifen von sich geben sollte. Gerade bei
langen Dateien habe auch ich eine solche akustische "End-of-print"-
Meldung gern, weil ich vielleicht unterdessen etwas anderes mache
oder sogar den Raum verlasse. Bloss reagieren nicht alle Drucker
vernünftig auf ASCII 7 - einige machen überhaupt nichts, andere geben
zwar ein Geräusch von sich, aber nur so leise wie ein Mäuslein,
wieder andere ziehen gleich ein neues Blatt ein oder aber im
schlimmsten Fall - schalten sie in irgendwelche ausserirdischen
Modi, aus denen sie nur durch Ausschalten und Wiedereinschalten
zurückgeholt werden können. Die Zeit, als ich den guten alten
9-Nadel-Drucker getrost mit ASCII-7-Zeichen füttern konnte, worauf
er mir durch lautstarkes Hornen ähnlich einem einlaufenden Schiff
das Ende des Druckes anzeigte, egal in welchem Raum des Hauses ich
mich befand, ist leider vorbei.
Aus den genannten Gründen werden alle Zeichen ausser ASCII 10 bis 13
und 32 bis 255 einfach unterdrückt.
4. PD-Bestimmungen und Copyright:
=================================
PRTOUT.TTP ist Public Domain und darf frei verwendet werden. Es
bestehen dabei keinerlei Einschränkungen. Ich möchte aber darauf
hinweisen, dass es sinnvoll ist, nicht nur das Programm, sondern auch
diesen Text an andere Personen weiterzugeben.
Wer Fehler entdeckt, Implementierung anderer Optionen oder ein
GFA-Basic-Listing des Programms wünscht, kann mir schreiben unter
Beilage einer Diskette (aus Sicherheitsgründen formatiere ich diese
neu!). Ich verlange keinen finanziellen Beitrag, aber wenn mir jemand
ein selbstgeschriebenes Tool oder Utility mitschickt, freue ich mich
darüber.
Wer ganz sicher gehen will, dass ich bald antworte, soll auch einen
internationalen Antwortschein mitschicken.
* ACHTUNG: Der Besitz dieser Version von PRTOUT.TTP verleiht keinerlei
* Rechte oder Ansprüche an der englischen Version des Programms, die
* getrennt in Umlauf ist!
Auf dass es gut drucke Land auf und Land ab
wünscht
Philipp Wälchli
Chemin du Compois 10
2533 Evilard
- Schweiz -